package net.zjitc.servlet.datasource.book;

import java.util.List;

/**
 * @Author Administrator
 * @Date 2020/5/26 16:07
 * Book对象的操作接口
 * 定义具备哪些功能，不管具体实现
 **/
public interface BookDao {
    /**
     * 添加功能：将book对象添加到数据库中，要求图书名称不能重复
     * 若添加成功，返回1（数据库中执行时返回的影响了多少行）
     * 若添加不成功，返回0
     *若图书名不存在返回-1
     * @param book
     * @return
     */
    public int insert(Book book);

    /**
     * 查询功能;根据图书名称查询数据库
     * 存在，返回该图书对象
     * 不存在，返回null
     * @param name
     * @return
     */
    public Book selectByName(String name);

    /**
     * 查询所有功能;查询数据库，将所有信息封装到集合List<Book>并返回
     * @return
     */
    public List<Book> selectAll();

    /**
     * 修改功能：将id的图书对象内容修改为book
     */
    public int update(int id,Book book);

    /**
     * 删除功能：将id的图书对象删掉（首先要判断是否存在该对象)
     * 若图书名存在，则完成删除操作，若删除成功返回1，若删除不成功返回0
     * 若图书名不存在返回-1
     * @param id
     * @return
     */
    public int delete(int id);
}
